﻿using System;
using System.Collections.Generic;
using JamesZhao.Engine.GameComponents;
using JamesZhao.Engine.Graphics.Visuals;

namespace JamesZhao.Engine.Graphics
{
    public class VisualsList
    {
        public VisualsList()
        {
            Drawables = new List<Drawable>();
            OverlayDrawables = new List<IOverlayDrawable>();
            Lights = new List<Light>();
        }

        public IList<IOverlayDrawable> OverlayDrawables { get; private set; }
        public IList<Drawable> Drawables { get; private set; }
        public IList<Light> Lights { get; private set; }

        public Light AttachNewLight()
        {
            var light = new Light();
            Lights.Add(light);
            return light;
        }

        public void AttachDrawable(Drawable drawable)
        {
            Drawables.Add(drawable);
        }

        public void AttachOverlay(IOverlayDrawable overlayDrawable)
        {
            OverlayDrawables.Add(overlayDrawable);
        }
    }
}